23

» WarCraft 3 / Захват точек

Похожие вопросы:

ответ
периодическим таймером проверяем есть ли рядом юниты враждебные к точке
если есть то уменьшаем значение переменной
как только значение стало равно 0 точка стала нейтральной
как только значение достигло минимума (например -10) то меняем владельца на того кто захватил и устанавливаем значение на максимальное (например 10)
а ну ещё сделай проверку чтобы все юниты возле точки принадлежали к 1 клану
а вообще подобное кучу раз спрашивали
гугл в помощь
ответ
Вы смотрели тут, тут и тут?
Там всё через gui
ответ
Nik_It, с таким событием есть только тот юнит, у которого уменьшилась жизнь.
Нужен триггер с событием получения урона.
С: Юнит X получает урон
У:
  (Жизнь Triggering Unit - Получаемый урон) <= 500
  И
  Жизнь Triggering Unit > 500
Д:
  Сменить владельца Triggering Unit на Владелец (Damage Source)
  Установить Жизнь Triggering Unit на 100%.
ответ
мб отслеживать приказы, какие приказы будут у работника по 100% хп здания?
Или дамиком построить здание, и отказатся строить, у всех игроков - работники альянса (иначе это не пашет) при ремонте здания союзника, если больше никтот не чинит, здание делать за того кто чинит, если бросил чинить (работник отдал любой другой приказ или умер) вернуть в нейтрала, ну и так далее.

23

» WarCraft 3 / Mechanic

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Длина текста: 8, а требуется не менее 20
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Text length is: 8, but required not less than 20
// CID4
23

» WarCraft 3 / AI помогите

Похожие вопросы:

ответ
Щас бы в 2018 делать Melee карты)))))
В гуи сделай обычный ИИ (если карта не совсем стандартная)
А ещё лучше: xgm.guru/p/wc3/aieditor
ответ
Пока для тестирования оставил вариант с маленькой атакой, так как для нее не требуется писать дополнительных скриптов. Я не знаю, как работают функции отбора групп (отрядов) по условиям и как это оптимизировано внутри игры, но есть подозрение, что если в таймере выбирать все стенки на карте и потом искать боевые единицы врага вокруг каждой из них, это может быть долго. Для такого варианта хорошо кэшировать стены при постройке, но я на время тестирования не стал над этим заморачиваться. Всем спасибо за помощь.
ответ
После применения способности, игра просто доходит до ожидания, вызывает его и все. Можно ждать бесконечно, остальной код не будет исполнен.
TriggerSleepAction нельзя вызвать в кондишенах, только в действиях. Либо юзай экзекют, либо не юзай вейт

Результат тот же, до кода, следующего после цикла, исполнение не доходит.
Ты таким образом себе оп лимит сломал, ведь в первую же долю секунды цикл обрабатывает 25к+ действий

Дредлорда как колбасило при касте, так и колбасит, анимацию он отказывается адекватно
Таймером создаёшь нулевую задержку, устанавливаешь нужную анимацию, а дальше уже либо периодиком проверяешь приказ и отменяешь анимацию, либо через время просто отменяешь анимацию. Это основы гуи, не то что джасс)

вот так решается первый вариант
function InitTrig_Annihilation_Conditions takes nothing returns boolean
    if (GetUnitAbilityLevel(GetSpellAbilityUnit(), udg_Annihilation) > 0) then
        call ExecuteFunc( "AnnihilationActions" )
    endif

    return false
endfunction
и так второй
function ExecuteCast takes nothing returns nothing
    local timer spellDurationTimer = GetExpiredTimer()
    local integer timerHandle = GetHandleId(spellDurationTimer)
    local unit target = LoadUnitHandle(udg_Hash, timerHandle, 0)
    local unit caster = LoadUnitHandle(udg_Hash, timerHandle, 1)

    call ResetUnitAnimation(caster)
    call SetUnitExploded(target, true)
    call KillUnit(target)
    call DestroyTimer(spellDurationTimer)
    set spellDurationTimer = null
endfunction

function SetAnim takes nothing returns nothing
    local timer t = GetExpiredTimer( )
    
    call SetUnitAnimation( LoadUnitHandle( H, GetHandleId( t ), 1 ), "channel" )
    call TimerStart(t, 5, false, function ExecuteCast)
    
    set t = null
endfunction

function AnnihilationActions takes nothing returns nothing
    local unit target = GetSpellTargetUnit()
    local unit caster = GetSpellAbilityUnit()
    local timer spellDurationTimer = CreateTimer()
    local integer timerHandle = GetHandleId(spellDurationTimer)

    call SaveUnitHandle(udg_Hash, timerHandle, 0, target)
    call SaveUnitHandle(udg_Hash, timerHandle, 1, caster)
    call SetUnitAnimationByIndex(caster, 11)
    call SetUnitZ(target, 400)
    
	call TimerStart(spellDurationTimer, 0.00, false, function SetAnim)
	
    set target = null
    set caster = null
    set spellDurationTimer = null
endfunction

23

» WarCraft 3 / Интерфейс в режиме кинематики

Похожие вопросы:

ответ
Странно, попробуй тогда еще нестандартные кланы и фиксированные параметры игрока. Рамка в синематике (леттербокс режиме) должна быть та же, что и игровой интерфейс.

23

» WarCraft 3 / Помогите (ошибка)

Похожие вопросы:

ответ
Честно, такого говна в триггерах я давно не видел. Пиши мне в дискорде (izobretatel__), объясню большинство ошибок. Возможно неправильный дс дал, напишешь свой.
ответ
Нашел ответ МУЖИКИ!
Кароче
кидаю скрин на ответ и продублирую текстом. ПРОБЛЕМА РЕШИЛАСЬ!!!
Мне в Дискорде Team OZE помогли, по английский понимаешь? я Просто оставлю это здесь:
Hey Legion TD - small update regarding the game-crash fake 12.0 incident from yesterday. I looked into it today and while there are many small changes made, meant to “corrupt” the savefile, only one of them is actually relevant . You can apply the following fix: Inside your CustomMapData folder (C:\Users\USERNAME\Documents\Warcraft III\CustomMapData\Legion_TD_TeamOZE) and inside your folder, there is a "Data.pld " and "Data.txt " file. Open them and delete the "\\t ". Save the files aaaaaaaand that should be it!
Между com и /channels пробел удали, и точку перед com поставь, и ссылка тебя выведет на их дискорд с этой проблемой, только надо пройти регистрацию если нет дискорда.

23

» WarCraft 3 / Warcraft of heroes and magic 3

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Число вставленных изображений: 0, а требуется не менее 3
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Count of inserted images is: 0, but required not less than 3
// CID3
23

» WarCraft 3 / Использование кастомного кода

Похожие вопросы:

ответ
Событие EventUnitSummon
GetUnitX\Y от GetSummonedUnit()
ответ
goodlyhero, ну уже вроде делали с перехватом кастом функций или хештаблицу, wenhao же видел? Там китайская сборка мемхака и 4 библиотеки.

Но вариант фога постабильнее, во первых микс файл в папке с варом позволит создавать карту в обычном режиме и тестировать, + встроенная защита спасёт от ошибок и фаталов на ровном месте, указывая где проблема.

Простые R\W функции то можно не трогать, там все норм. А вот конверты, хуки, вызовы из game.dll - это вот как раз требует нативного решения, ибо довольно медленное.

Ну и думаю ивенты без норм декларации нативок для триггеров не добавить...

23

» WarCraft 3 / Где утечки

Похожие вопросы:

ответ
Функция GetUnitLoc порождает новую точку, поэтому и счетчик хендлов увеличивается.
ответ
quq_CCCP, Ну я на хайве видел полуджассовый вампиризм. Так мне и нужно вручать при замахе, чтоб если героя диспелят он вампиризм при атаке вернул. А утечку показывает, как я атакую, сразу хендл на один повышается. Может руна не удаляется?
ClotPh, Вообще не понял о чём ты.
Решил проблему, утечка возникала из -за не удаления руны, она почему-то не удаляется изнутри триггера, создал отдельный для удаления и нет утечки.
ответ
Alexey103, утекает функция проверки есть ли у юнита предмет
это бж функция которая использует локалку типа итем и не обнуляет её
ответ
Ну set bj_wantDestroyGroup не спасает полностью, потому что после уничтожения группы не объявляется set g = null, а решение - использовать глобалки или переходить на джасс

А "ничего не делать" выкинь нафиг из головы, эта функция делает только хуже

Условие первое на втором скрине вообще как-то криво построено, зачем там или если только одно условие?
ответ

23

» WarCraft 3 / Даммик не кастует способность

Похожие вопросы:

ответ
~16GB:
0.06 время жизни слишком мало ставь хотя бы 0.3
ответ
~8gabriel8:
ответ
Ну не у всех приказов есть строковые названия приказа, пример итемы не имеют. Но у всех может быть свой идишник, короче номер приказа. Его можно вывести на экран дебагом, если вы конечно, не знали. Посмотреть можно список всех приказов строковые и их идишники. Дабы отдавать приказы, есть нативки отдачи приказов так строковым, так и по ид. Правда, в гуи я точно помню, что близзард не ввели команды по работе с идишниками. Поэтому вводим код. Через custom script пишете текст, и вводите id-приказ. Вбей в поиск жезл иллюзии id приказ.


Еще можно руну иллюзий дать юниту


23

» Game Dev / Исход Орды рефордж

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Число вставленных изображений: 0, а требуется не менее 3
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Count of inserted images is: 0, but required not less than 3
// CID3
23

» WarCraft 3 / возможно ли такое пофиксить?

Похожие вопросы:

ответ
native BlzFrameSetFocus takes framehandle frame, boolean flag returns nothing
а ещё можно к кнопке или фрейму прикрепить tooltip который будет отображаться при наведении на фрейм
--menu - родительский элемент кнопки
function AttachTooltip(menu, button, text)
    local tooltip = BlzCreateFrameByType("TEXT", "StandardInfoTextTemplate", menu, "StandardInfoTextTemplate", 0)
    BlzFrameSetSize(tooltip, 0.148, 0.02)
    BlzFrameSetPoint(tooltip, FRAMEPOINT_BOTTOMLEFT, menu, FRAMEPOINT_BOTTOMLEFT, 0.015, 0.015)
    BlzFrameSetTextAlignment(tooltip, TEXT_JUSTIFY_TOP, TEXT_JUSTIFY_LEFT)
    BlzFrameSetText(tooltip, text)
    BlzFrameSetTooltip(button, tooltip)
end
на хайве тоже достаточно инфы:

23

» WarCraft 3 / Простой атаки приказ для всех юнитов

Похожие вопросы:

ответ
Я тоже не понимаю, что могло пойти "не так"?
Ты сам уже описал. По событию заносишь юнитов в группу. Потом нажимаешь способность "Атаковать" и юнит идут атаковать. Что может пойти "не так"?
ответ
описанная проблема это движок вара, а не ии. ничего с этим не сделать, на каждого игрока существует лимит юнитов которые нормально управляются, после идут статтеры

23

» WarCraft 3 / Капитан Алого Ордена

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Число вставленных изображений: 0, а требуется не менее 1
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Count of inserted images is: 0, but required not less than 1
// CID3
23

» WarCraft 3 / Капитан Алого Ордена

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Должен присутствовать файл одного из типов: mdl, mdx, fbx, obj, max, blend, mb, ma, 3ds, dae, dxf, usd, usdz, stl, stp, wrl, m2, zip, 7z, rar, tar, gz, apk, gzip, jar, lzip, tgz, tbz2, bz2, zipx, zz, dmg, ipg, z, iso
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
There must be a file of one of the following types: mdl, mdx, fbx, obj, max, blend, mb, ma, 3ds, dae, dxf, usd, usdz, stl, stp, wrl, m2, zip, 7z, rar, tar, gz, apk, gzip, jar, lzip, tgz, tbz2, bz2, zipx, zz, dmg, ipg, z, iso
// CID1
23

» WarCraft 3 / Предмет: повышение характеристик героя

Похожие вопросы:

ответ
  1. Есть функция проверки кол-ва ловкости героя, при этом можно посмотреть сколько ловкости от характеристик и сколько от предметов, исходя из кол-ва ловкости вручать предметные абилки на атаку.
  2. Самое простое - апгрейды, триггерно повышать уровень улучшения которое будет действовать на героя, увы это не идеальный вариант, но один из самых просты. Так же вручать способности предметов на регенерацию здоровья \ маны.
  3. Напрямую - никак, есть место только под 5 способностей. Делать свою систему прокачки способностей из спеллбука или какие либо еще способы, на подобии рпгшных карт.

23

» WarCraft 3 / Как начать писать свой код ИИ?

Похожие вопросы:

ответ
Да тоже смутился такому факту, но всё лечиться
ответ
1
А это никого не смущает? то что локалки поставлены не первыми
function Trig_treeegs_Actions takes nothing returns nothing
	set udg_Unitper = GetSpellAbilityUnit()
	local unit Usp = udg_Unitper
	local unit orud1
	local unit orud2
	local unit orud3
	. . .
2
Утекают точки...
PolarProjectionBJ(GetRectCenter(RectFromCenterSizeBJ(GetUnitLoc(Usp), 200., 300.)), 256, 100.)
// GetUnitLoc(Usp)
3
Обращения как в функциям
orud1()
Usp()
В общем - рано тебе ещё прям так полностью переходить на Jass.
Тут надо переделывать всё, начиная с момента удаления создаваемого эффекта, и вплоть до момента созданиея юнита по XY. А так же момент с полярными смещениями (ты там вообще лишнюю область создаёшь, а значит не знаешь как надо правильно полярки использовать на GUI).

23

» Game Dev / )

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Должен присутствовать файл одного из типов: mdl, mdx, fbx, obj, max, blend, mb, ma, 3ds, dae, dxf, usd, usdz, stl, stp, wrl, m2, zip, 7z, rar, tar, gz, apk, gzip, jar, lzip, tgz, tbz2, bz2, zipx, zz, dmg, ipg, z, iso
Условия прохождения автомодерации:
Ресурс должен иметь инструкцию, как скачать и установить софт и как выпустить файлы игры для целевого игрока
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
There must be a file of one of the following types: mdl, mdx, fbx, obj, max, blend, mb, ma, 3ds, dae, dxf, usd, usdz, stl, stp, wrl, m2, zip, 7z, rar, tar, gz, apk, gzip, jar, lzip, tgz, tbz2, bz2, zipx, zz, dmg, ipg, z, iso
// CID1
23

» Администрация XGM / XGM Bot

Похожие вопросы:

ответ
Кто-то проапрувил проект раньше назначенного. Задание предполагается для проектов 1 уровня.
ответ
В данный момент нет планов на такие изменения, до большого обновления кодовой базы. Откладывается на неопределенное время.
ответ
нет, можно закрывать только с нормальным ответом, можно снимать с публикации
ответ
Оценил - высокая сложность, надо всё переписывать, ждём переход на другой поисковый движок.
ответ
Ты супермодератор. Этот проект теперь является суперпроектом и мы его курируем, а сопровождает Нарберал